﻿using SeaBattle.Domain.Entities;
using System.Collections;
using System.Collections.Generic;

namespace SeaBattle.Domain.Abstract
{
    public interface IGameRepository
    {

        /// <summary>
        /// Creates the new game.
        /// </summary>
        /// <param name="creator">The creator.</param>
        /// <returns></returns>
        Game CreateNewGame(Player creator);

        /// <summary>
        /// Saves the game.
        /// </summary>
        /// <param name="game">The game.</param>
        /// <returns></returns>
        bool SaveGame(Game game);

        /// <summary>
        /// Gets the game.
        /// </summary>
        /// <param name="id">The id.</param>
        /// <returns></returns>
        Game GetGame(int id);

        /// <summary>
        /// Gets all games.
        /// </summary>
        /// <returns></returns>
        IEnumerable<Game> GetAllGames();

    }
}
